package Data::Domain::URI_TEST;

use strict;
use warnings;
use Test::More;
use Data::Domain::URI ':all';


our $VERSION = '0.03';


use base qw(Test::CompanionClasses::Base);


use constant PLAN => 4 * keys %Data::Domain::URI::map;


sub run {
    my $self = shift;

    while (my ($shortcut, $rel_pkg) = each %Data::Domain::URI::map) {
        no strict 'refs';
        my $domain = *{ $shortcut }{CODE}->();
        isa_ok($domain, "Data::Domain::$rel_pkg");
        isa_ok($domain, 'Data::Domain::SemanticAdapter');
        isa_ok($domain->adaptee, "Data::Semantic::$rel_pkg");
        isa_ok($domain->adaptee, 'Data::Semantic::RegexpAdapter');
    }
}


1;


__END__

{% USE p = PodGenerated %}

=head1 NAME

{% p.package %} - Test companion class

=head1 SYNOPSIS

    perl t/01_companion_classes.t

=head1 DESCRIPTION

This test companion class tests the shortcuts provided by L<Data::Domain::URI>
and that the objects they create, and their adaptees, are of the expected
types.

=head1 METHODS

=over 4

{% p.write_methods %}

=back

{% p.write_inheritance %}

{% PROCESS standard_pod %}

=cut

